Communication protocols can allow a “host” computing device (for example a personal computer, laptop computer, etc.) to communicate with one or more target devices. For example, media files can be transferred between media players and a host device, image files can be transferred from a camera to a host device, or input devices can provide input data for the host device (e.g., mouse, game controller, etc.). One popular communication protocol is that included in the Universal Serial Bus (USB) Specification.
Communication protocols can require particular communication formats and sequences between a host and a target device. In many instances, communication protocols can be optimized for data transfer speed and/or efficiency. To take advantage of the benefits achieved by using a communication protocol, target devices can often be designed at a hardware level to accommodate data formats and exchanges in one or more predetermined protocols.
To better understand various aspects of the disclosed embodiments, conventional systems for interconnecting a target device with a host device will now be described with reference to FIGS. 13A and 13B.
FIG. 13A shows a first conventional USB system, designated by the general reference character 1300. Conventional system 1300 can include a USB host device 1302, a USB controller 1304 and a target device 1306. USB host device 1302 communicates with USB controller 1304 via a USB connection 1308. USB controller 1304 can access target device 1306 in response to requests from USB host device 1302. In such an arrangement, the USB host device 1302 accesses the target device 1306 through USB controller 1304. The target device 1306 is not shared with any other host device.
FIG. 13B shows a second conventional USB system, this one designated by the reference character 1330. Conventional system 1330 includes a USB host device 1332 connected to a USB controller 1334, via a USB connection 1338. FIG. 13B also includes a second host device 1333 connected to USB controller 1334 via an interface 1335. A target device 1336 can be accessed by second host 1333. In such an arrangement, USB 1332 host and second host 1333 can communicate with one another, and second host 1333 can have direct access to target device 1336. However, in order for the USB host 1332 to access target device it must do so through second host device 1333.